/**
 * 判断是否为回文字符串
 * 
 * 描述

给定一个长度为 n 的字符串，请编写一个函数判断该字符串是否回文。如果是回文请返回true，否则返回false。

字符串回文指该字符串正序与其逆序逐字符一致。

数据范围：
0
<
n
≤
1000000
0<n≤1000000
要求：空间复杂度 
O
(
1
)
O(1)，时间复杂度 
O
(
n
)
O(n)
 */
public class 判断是否为回文字符串 {
    
    public static void main(String[] args) {
        
        System.out.println(judge("yamatomaya"));
    }

    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     * 
     * @param str string字符串 待判断的字符串
     * @return bool布尔型
     */
    public static boolean judge (String str) {
        // write code here
        if(null == str || str.length() < 1) return false;
        if(str.length() == 1) return true;


        StringBuilder builder = new StringBuilder(str);
        String handleStr = builder.reverse().toString();

        return str.equals(handleStr);
    }
}
